diff -up gamin-0.1.9/server/gam_channel.c.xxx gamin-0.1.9/server/gam_channel.c
--- gamin-0.1.9/server/gam_channel.c.xxx	2007-07-04 15:36:49.000000000 +0200
+++ gamin-0.1.9/server/gam_channel.c	2008-02-14 10:00:38.654849392 +0100
@@ -3,7 +3,6 @@
 #include <unistd.h>
 #include <errno.h>
 #include <glib.h>
-#include <sys/socket.h>
 #include <sys/stat.h>
 #include <sys/un.h>
 #include <sys/uio.h>
@@ -12,6 +11,14 @@
 #include "gam_channel.h"
 #include "gam_protocol.h"
 
+#ifdef HAVE_LINUX
+  /*  Workaround for undefined struct ucred  */
+  #define __USE_GNU
+#endif
+
+#include <sys/socket.h>
+
+
 /* #define CHANNEL_VERBOSE_DEBUGGING */
 /************************************************************************
  *									*
diff -up gamin-0.1.9/libgamin/gam_api.c.xxx gamin-0.1.9/libgamin/gam_api.c
--- gamin-0.1.9/libgamin/gam_api.c.xxx	2007-07-04 15:36:48.000000000 +0200
+++ gamin-0.1.9/libgamin/gam_api.c	2008-02-13 17:41:50.697896914 +0100
@@ -11,7 +11,6 @@
 #include <fcntl.h>
 #include <errno.h>
 #include <sys/stat.h>
-#include <sys/socket.h>
 #include <sys/un.h>
 #include <sys/uio.h>
 #include "fam.h"
@@ -20,6 +19,14 @@
 #include "gam_fork.h"
 #include "gam_error.h"
 
+#ifdef HAVE_LINUX
+  /*  Workaround for undefined struct ucred  */
+  #define __USE_GNU
+#endif
+
+#include <sys/socket.h>
+  
+
 #define TEST_DEBUG
 
 #define MAX_RETRIES 25
